home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Precision Software Appli…tions Silver Collection 1
/
Precision Software Applications Silver Collection Volume One (PSM) (1993).iso
/
windows
/
games
/
cshearts.arj
/
CSHEARTS.DOC
next >
Wrap
Text File
|
1992-06-13
|
29KB
|
719 lines
CardShark-Hearts(tm)
Version 1.1
Copyright 1992 Nelson Ford, PsL
Contents:
1. Copyright, Trademark, Use & Distribution License
2. Installation
3. Overview of the Game
4. Mechanics of Play
5. Rules of Play
5a. Passing
5b. Playing
- automatic "cash-in"
6. Strategy
6a. Ganging Up on the Low Hand
6b. Stopping the Shoot
6c. The Worst Way to Stop a Shoot
6d. The Computer Hands
6e. "Panic" Mode
7. Options
7a. AutoPlay
7b. Card Backs
7c. Game Goal
7d. Hand # Prompt
7e. Play Through
7f. Pause
7g. Zero Game Score
8. View
8a. Documentation
8a. All Hands
8b. Game Record
8c. Last Game
8d. Edit INI File
9. Quit
9a. Deal
9b. Game
10. Pass <Direction>
11. How The Computer Plays
- No Cheating
12. An Observation About Shareware Games
13. Association of Shareware Professionals
14. Benefits of Registering
15. Order Form
1. Copyright Use & Distribution License:
You should have received this program free or for a low fee through as
shareware for evaluation purposes only. You may use the program for a
reasonable evaluation period. Payment to the author of the program is
required for use beyond simple evaluation. See the registration form at
the end of this file.
This program may be copied for others to try, so long as no changes are
made to the program nor any of the accompanying files, including this one,
and ONLY if you write to the author for permission. Vendors who are current
members in good standing of the Association of Shareware Professionals must
still notify the author that you are distributing the program, but you do
not have to wait for permission to begin distribution.
VENDORS and BBS's must agree to stop distributing this program when requested
or automatically if your membership in A.S.P. is dropped for any reason.
CS-Hearts is written in Visual Basic. The Visual Basic runtime module,
VBRUN100.DLL, is Copyright by Microsoft Corp.
VBCARDS.DLL, which contains the card faces and backs, was written by
Richard R. Sands and is public domain. Programmers wanting to use this DLL
in their own card games may contact Sands on CompuServe: 70274,103.
CARDSHARK-HEARTS and the "CARDSHARK-" card game name prefix are trademarks
of Nelson Ford, PsL.
2. Installation
You can put the CS-Hearts files in any directory; HOWEVER, the VBCARDS.DLL and
CTLHWND.DLL files should be copied to some directory in your PATH, such as
your Windows directory. If you already have files by these names in your
Windows directory, compare the size, date and time of them to the ones in this
package. If they do not match, you may have to remove or temporarily rename
the other files to use these. You might try running CS-Hearts before doing so
to see if it works with the files already in place.
CS-Hearts also requires VBRUN100.DLL. VBRUN is used by dozens (maybe hundreds)
of pd/shareware programs and is widely available. If you already have VBRUN,
you do not have to do anything else. If you do not have it, you can get it
from PsL by sending $5 to cover shipping and handling to the address on the
order form at the end of this file. You can also download it from CompuServe.
GO MSBASIC, enter DL-5 at the Forum prompt, and BRO VBRUN*.* to find it.
After copying the CS-Hearts files to the directory of your choice, use Program
Manager File-New menu options to add CS-Hearts' EXE file to one of your
Program Groups, if you wish to have it readily available. Otherwise, you can
run it with the File-Run option of Program Manager.
3. Overview
Hearts is an addictive and interesting four-handed game (no partners). You
play one hand and the computer plays the other three hands individually.
"Individually" means that the computer does not "cheat" -- it does not look
into other hands or gang up all the other hands against the human player.
The goal in Hearts is to have the low score. You get one point for each Heart
that you take and 13 points for the Queen of Spades ("QS"). Since you want to
have the low score, the goal is to avoid taking Hearts and, at almost all
costs, avoid taking the QS.
One exception is that if you take the QS and all 13 of the Hearts, each of
your opponents gets 26 points. This is called Shoot the Moon ("Shoot"), but it
is difficult to do if playing good opponents. (It is very easy to end up with
25 points against you rather than giving everyone else 26 points, and a 51
point swing is difficult to overcome in a game to 100.)
Unlike Bridge, Spades, and other games, there is no "trump" in Hearts.
The high card played in the suit led always takes the trick.
You can elect to play to any number of points, but the default is 100. When one
player goes over 100, the person with the lowest number of points at that time
is the winner.
I wrote CardShark Hearts out of frustration with the weak play of existing
Hearts games. In writing it, I gained a deeper respect for the problems faced
by the authors of the other games. Although tests have shown that CardShark
Hearts can beat the other games, it is a long, long way from the
sophistication that I had hoped to attain when I started this program.
On the other hand, does the world really want a card game they can't possibly
beat?
4. Mechanics of Play:
A mouse is required to play CS-Hearts. In normal play mode (ie: not AutoPlay),
cards are selected to pass or play by clicking on the card, then clicking the
Ok button. At the end of each trick, also click the Ok button when prompted.
When you click on the card, it will rise up above the rest. If you change your
mind before clicking on Ok, simply click on the card again to lower it.
While it is a very minor (in my opinion) nuisance to have to click on the Ok
button in addition to clicking on the card, my experience with other card
games that give you no way of correcting an accidental selection makes me feel
that it is worthwhile. I have several times been in the middle of a good game
in other Hearts games and ruined it by accidentally clicking on the the wrong
card.
5. Rules of Play:
There are two parts to the game: Passing and Playing.
5a. Passing
After each of the four hands is dealt 13 cards, you must select three cards to
pass to an opponent. The passing direction rotates on each deal: to the right,
across, left, and no-pass ("hold"). Cards are passed face-down, so the other
players do not see what you are passing.
Selecting the three cards to pass is at least as important as the actual play
of the hand, if not more so. For example, if you are dealt the lone Queen of
Spades ("QS") and do not pass it, then the first time spades are led (and the
other players should attack spades right away), you will be forced to play it.
The other players will play low (if they can) and force you to win the trick,
thus taking 13 points.
Novices are often afraid to ever hold onto the QS, but you normally will want
to hold it when you can adequately protect from having it led out of you.
Holding the QS gives you two advantages: nobody can drop it on you, and you
can choose whom to drop it on -- normally the person with the lowest score.
How many spades is considered "adequate protection"? You will find that out
through experience. (I don't want to spoil all your fun!)
Other considerations include passing low cards so that you can Shoot, passing
low Hearts to keep other players from Shooting, and so on. Again, experience
is the best teacher, but when you register CS-Hearts, the manual you get has a
section that tells you how to get the most out of your passing game.
5b. Playing
The person with the Two of Clubs starts play by leading it. Play goes
clockwise and each player must follow suit, if possible.
You can play the QS or a Heart at any time that you cannot follow suit, except
that you cannot LEAD a Heart until they have been "broken". Hearts are broken
when someone discards a Heart or the QS. Other than that, you can lead any suit.
You CAN lead the QS before Hearts are broken, if you want to.
Some people play that if you only have Hearts and the QS left, you must lead
the QS. In this game, you can lead a Heart if you wish. Also, some people play
that you cannot play the QS on the first trick; in this game, you can.
There are numerous other variations on the rules of the game, but the rules
followed in CS-Hearts are the ones normally used. My inclination is not to
muck up the game with such variations, but they are easy enough to add and I
will do so if there is sufficient demand.
Automatic Cash-In:
At the end of each Trick, the program checks to see if all the points have
been played or if the person with the lead has all winning cards left. If
either of these is true, the program stops play, displays the remaining cards,
and in the latter case, gives the remaining points to the person with the
lead.
After all, if all the points are in, there is no reason to continue play.
And if the person with the lead doesn't have a card left that is lower than
those held by the other hands, there is likewise no point in playing it out.
(Yet CS-Hearts is presently the only Hearts game that offers this feature.)
One exception is that if only one trick is left, the program will not cash in,
since it is usually faster just to play the last trick.
6. Strategy
The manual you get when you register contains many tips on playing. You do
NOT need these tips to play and enjoy the game, but they can help you win
more, both against the computer and against human opponents. Here are a few of
the more important ones:
6a. Ganging Up on the Low Hand:
One basic strategy is that if you are holding the QS with sufficient protection
for it, then you should not just throw it at the first opportunity. Instead, try
to give it to the low hand (assuming one player's score is at least 13 points
lower than the others).
If you are low scorer, then
- If someone else is within 13 points or so of your score, try to give QS to
them. If more than one player is within 13 points of your score, give it
to the first one of the two hands that you can.
- If you can give the QS to a hand that will then go over the Goal, do it.
(Remember to do this only if YOU have the low score, obviously.)
- If everyone's score is well above yours, dump the QS on the first person you
can. There is no point in taking risks in that situation.
Even if you do not hold the QS, you may be able to control who gets it. If you
are leading Spades, for example, and have enough Spades to force the QS out of
the hand holding it, but that hand is not the one you want to get the points,
then try leading a suit in which you have a lot of cards with good low ones to
give the other player a chance to dump the QS on someone else. You may not want
to risk this unless you have a very safe hand (ie: low cards in every suit).
6b. Stopping the Shoot:
Although taking the QS is costly, it is TWICE as costly to let someone shoot, so
stopping the shoot is an important part of your strategy.
One way is to try to discard Hearts when you cannot follow the suit that has
been led, trying to give a Heart to two different players ("splitting" Hearts).
Until Hearts have been split, you should not discard your highest Heart, since
you may need it to stop a Shoot. Once Hearts are split, discard your highest
Hearts.
Another way is to try to take a trick that someone has discarded a Heart on,
if Hearts haven't already been split. Novices are often afraid to take even a
single point, but taking one point is a cheap way to insure that nobody else
can Shoot and give you 26 points.
Once someone takes the QS, you should not rest easy until someone else has taken
a Heart; otherwise, there is a risk that the person could Shoot. Because the
penalty for allowing someone to shoot is so large, it is worth taking a few
Hearts to prevent it, if necessary.
If the computer detects that you are always playing low on Hearts when you could
play high and stop a Shoot, then the next time, it may play low too, and the
other hand could get away with Shooting and you will lose, so don't just rely on
the computer hands to stop other computer hands from Shooting.
However, if the hand on your right leads, say, the Four of Hearts and you have
the Two and the Three in addition to some higher ones, it is usually all right
to play low, since there is a strong probability that one of the other hands
will be forced to win the trick.
If the hand on the right leads, say, a Ten of Hearts and you have a higher one
and don't play it and the other hands cannot beat it, that may have been the
leader's only losing Heart and he may Shoot.
As you can see, stopping the Shoot is a major part of the game.
6c. The Worst Way to Stop the Shoot:
...is to take the QS. Say that someone has taken all the hearts and the only
points left are the 13 assigned to the QS. Whether or not you should take 13
yourself to avoid having to take 26 (along with everyone else) has to be decided
by the score situation.
6d. The Computer Hands:
Poorly written Hearts games are frustrating, because one computer hand may
make bad plays that let another computer hand win. It doesn't matter how good
a player you are if the program is so poorly written that one computer hand
gives the game away to another computer hand.
A common flaw is for one computer hand not to stop another hand from shooting
when given the chance. Another mistake is for one hand to Shoot when Shooting
lets another hand win the game.
PsL Hearts' computer hands are designed not to try to Shoot if doing so will let
another computer hand win. For example, say the scores for the hands are:
#1 - 80 (you)
#2 - 90
#3 - 50
#4 - 70
Some computer Hearts games would let player #2 Shoot the Moon. This would cause
you to lose, but player #3 would be the winner since adding 26 to his 50 points
would still leave him low hand. So in this case, player #2 would not try to
Shoot in "real life", since the object is to be the low scorer when someone else
goes over 100.
However, if player #4 Shoots, he would win the game, since his 70 points would
be low after adding 26 to everyone else's score. And of course, player #3 would
be happy to Shoot.
In fact, player #3 would make no attempt to stop players #1 and #2 from
Shooting, since he wins if they Shoot!
6e. "Panic" Mode:
The computer players are designed with a Panic Mode. Given the scores shown
above, if faced with either having to take the QS or having to let player #2
take it, player #4 would take it. Otherwise, #2 will "go out" (get over 100
points) and player #3 would win with the low score.
If #3's score were only a few points below #4's, and there are plenty of Hearts
left, #4 may let #2 take the QS in the above situation, hoping to stick #4 with
enough Hearts to make up the difference.
7. Options:
7a. AutoPlay:
The Computer plays your hand too. This is a good way to study the strategy. It
can be toggled on and off at any time there is a prompt (such as at the end of
each trick), so you can use it to play a single trick when you would like to
see what the computer would play, then turn it back off.
Note: AutoPlay is toggled off at the end of each hand, and thus must be turned
on again when you want to use AutoPlay.
7b. Card Backs:
Lets you toggle through the available decorative card backs.
7c. Game Goal:
Lets you change the score to which the game is played. Default is 100.
7d. Deal # Prompt:
If you select this option, you will be prompted before each deal for a deal
number. This allows you to replay a particular deal.
Whether you select this option or not, the deal number is at the start of
the game record, which you can view at any time. (See section 9.) It is
also displayed at the right of the menu bar.
Note that if you replay a deal, the score will still be added to the totals.
(The exception is if you replay the last deal, totals don't change.)
If you want the scores restored, look at the game record to see what
the scores should be, then Edit INI (see below) to change the scores
back.
7e. Play Through
This option will cause the program to play straight through a deal
without any pauses until the end. It plays all four hands. About the only
use for this (outside of my using it to test the program) is to generate
a game record for a particular deal number.
This option and AutoPlay are both turned off at the end of each deal
to prevent unintentional playing into the next deal.
7f. Pause:
Causes you to have to click the Ok button after each hand has played before the
computer goes on to the next hand. This is mainly of use when "View All Hands"
is on and you want to study the hands to see if you can figure out which card
the computer will play before it plays it.
It is interesting to turn on AutoPlay, Show All Hands, and Pause and see how
the computer plays each hand.
7g. Zero Out Scores:
This will zero out the current game scores, allowing you to start a new game.
If you wish to change the total game scores, see Edit INI File, below.
8. View:
8a. All Hands:
This is a good way to learn the game or to study the computer's strategy.
Like the other options, it can be toggled on or off at any time, so you
could turn it on if you feel a need to see the other hands for some reason,
then turn it back off.
8b. Documentation:
Notepad is brought up to display the documentation file, as well as the
game records. If Windows' Notepad program is not in your DOS PATH, these
options will not work. You will have to use your word processor to view
these files.
8c. Game Record:
At any time during the game, you can use this menu option to view a record
of the current game.
The current game record, is stored in CSHEARTS.TMP and the prior game
is in CSHEARTS.BAK.
You can use Notepad to view, add comments to, and print the game.
You can also save it permanently by using the File-Save As menu in
Notepad.
You can view a game up "View" until the passing has been done for the
next game. Then it is copied into CSHEARTS.BAK (which you can view
with the View Last option) and the new game is written to CSHEARTS.TMP.
8d. View the Last Game:
Lets you view the prior game's record. See comments above.
8e. Edit the INI File:
Program parameters are stored in the file CSHEARTS.INI, which should be in
your Windows subdirectory. By selecting this option, the INI file will be
brought up in Notepad so that you can zero out total scores or change any
other parameters you wish. You should rarely need to do this, but the
option is there.
9. Quit:
9a. Quit Deal:
This allows you to abort play and get a new deal. If you have the Deal #
Prompt turned on, you could enter the same deal number again to start the
same deal over.
9b. Quit Game:
This quits the game of Hearts completely. The game record files remain on
your disk in the files CSHEARTS.TMP and .BAK and you can view those with
Notepad.
10. Pass <direction>
This not only indicates the direction of passing for the current deal,
clicking on it cycles through the passing directions. If you are playing
over a particular deal number, you may need to use this option to set the
passing to the proper direction.
In particular, if you replay a deal that you just finished (say, to see how
the computer does in comparison to how you did), you must make sure the
direction of passing is the same.
11. How The Computer Plays
While chess games on the computer have attained Master strength, card
games such as Bridge and Hearts have remained relatively weak.
CS-Hearts is stronger than other shareware Hearts games, but it still
has a lot of room for improvement in playing strategy.
CS-Hearts' main strength is that it never forgets what has been played.
It usually knows (statistically) the best time to play a high card or a
low card.
However, what makes card games both interesting and difficult to program is
that what's statistically correct can backfire at times, which can make the
game look really stupid even when it has chosen the correct line of play.
The game's main weaknesses are that it is not programmed for every possible
situation that can arise, nor does it attempt to make inferences about
card holdings based on how other hands play.
For example, with scores about even, if a hand doesn't follow suit on the
first trick, nor does it play the QS, it is probably safe to assume that
the hand does not have the QS, but the program does not try to make such
assumptions. (As a matter of fact, some other shareware card games against
which CD Hearts was tested, seem to withhold playing the QS at times for no
apparent reason.)
This means that a human player with a good understanding of strategy and an
excellent memory for what has been played should be able to beat the game,
since you are better able to adapt to different situations as they arise.
It also means that like a human player, the computer may make a blunder
some times (not very often, hopefully). If you would like to help with the
improvement of this game, you report blunders to me at the address on the
order form or via CompuServe.
To report gross playing errors, load the file CSHEARTS.TMP into NOTEPAD and
print it out, or send a copy of it to me on disk, or email it to me on
CompuServe. (See: "Getting a Record of a Hand.")
No Cheating:
The computer plays each hand individually. For each hand, a list is kept
of the cards every other hand may have and the play of each hand is based
on its own list.
Since each hand removes the cards in its own hand from the list of cards
that other hands may have, and since it knows what cards it passed to
some other hand, each hand's lists of what the other hands may hold are
different from every other hand's lists.
When deciding what to pass or play for one hand, the computer never
"peeks" into the other hands.
In fact, when you register CS-Hearts, you will get as a bonus a special
version of the game that plays only one hand. You tell it what cards have
been dealt to it and what cards the other hands have played by clicking on
lists of cards.
I have used this special version of the game to test CS-Hearts against
other Hearts computer games. (Naturally, CS-Hearts beats them all!!)
When you register, you will also get a shareware disk with at least two
other (DOS-based) Hearts games by other shareware authors. You can load
one into a DOS window under Windows and CS-Hearts in another window and
let the two games play. (Late note: a Windows-based game called Hearts for
Windows has also been added.)
You can also use the special version of CS-Hearts to play against human
opponents.
12. An Observation About Shareware Games
I suspect that people tend to think of games as not being "serious"
programs, and thus are less inclined to register them.
Yet as a software reviewer, I have often said that games require more
programming skill and ingenuity to write than any other type of program.
This, my first game out of many shareware programs I've written over the
last 10+ years, certainly reinforced that belief.
The biggest supporter of shareware, dollar-wise, is business. Generally,
businesses are not going to register games, so if you have enjoyed this
(or any other) shareware game, it is even more important for you to show
your support of shareware by registering this and other shareware games
that you enjoy.
13. ASSOCIATION OF SHAREWARE PROFESSIONALS
The Association of Shareware Professionals (ASP) is an organization of
software authors committed to developing shareware as an acceptable
alternative way of marketing software.
The author, Nelson Ford, is a member (and one of the founders) of the ASP.
ASP wants to make sure that the shareware principle works for you. If you are
unable to resolve a shareware-related problem with an ASP member by contacting
the member directly, ASP may be able to help. The ASP Ombudsman can help you
resolve a dispute or problem with an ASP member, but does not provide
technical support for members' products. Please write to the ASP Ombudsman at
545 Grover Road, Muskegon, MI 49442 or send a CompuServe message via
CompuServe Mail to ASP Ombudsman 70007,3536.
14. Benefits of Registering
As with all shareware, if you use this program beyond a reasonable evaluation
period, you must pay for it by registering with the author to be legally
licensed to use it.
In addition, registration brings with it other benefits:
I play this game almost every day. If I find a weakness during play, I correct
it. So the game is constantly being improved. I will release new versions only
on a quarterly basis, since any more often than that tends to cause
problems for most shareware vendors and BBS's.
But when you register, you will, of course, be sent the latest version. If
you would like a shareware copy of the latest version, you can get it at
PsL's regular shareware disk fee rates: $5 per disk and $4 S&H per order.
Send payment to the address on the order form below.
When you register, you will also receive a manual with a section on how to
win at Hearts. There is a lot of strategy involved in passing and playing
Hearts, and this book explains it in a clear and concise way.
In addition, registration gets you One-Handed Hearts, a game for playing
one hand against unknown opponents.
Sometimes if the cards aren't going your way, you may start thinking that the
program is "cheating". Since you only tell One-Handed Hearts (which uses the
same algorithms as CardShark Hearts) which cards it has been dealt and which
have been played by other hands, there is no way for it to cheat.
We use the one-handed game to test the passing and playing algorithms
against other card games. We will also give you a shareware disk with other
Hearts games on it that you can play it against. (These other shareware
games should be registered with their authors if you use them beyond
evaluation.)
When you register, we will also send you a free sample copy of our monthly
shareware magazine, PsL News. (Or you can call or write for a free copy
without registering.) If you register, you can subscribe to PsL News for
just $12 for a year; that's one-third off the regular subscription price.
Registered users can also get one-third off the price of the PsL Source
Book and Reviews Disks. This 960-page book contains write-ups of over 7000
public domain and shareware files. The five-disk Reviews Disk set contains
the same write-ups, but our masters are updated monthly. (Free updates are
available.)
EXTRA BONUS: The first 50 people to register will also get a free deck of
plastic-coated playing cards (with our logo on them) so that
you can play Hearts (and other card games) with your friends.
15. Order Form:
CardShark Hearts(tm) Registration Form
=======================================
Date: ____/____/____
(PLEASE PRINT:)
Name: _______________________________________________________
Address: ____________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
License Fee for 1 copy of CS-Hearts ................. $25.00
(Includes manual, disk with other shareware
Hearts games, latest version of CS-Hearts,
and the One-Handed CS-Hearts game.)
Shipping & Handling ................................. 4.00
Sales tax, if shipped in Texas ($2.39) ............. ______
Total ....................................... ______
Method of Payment: __Check/M.O. __Amex __MC __Visa __Discover
Credit Card Information: (PLEASE PRINT) Expir.: ____/____
Name on Card: __________________________ #: ________________
Cardholder's Signature: _____________________________________
Where did you get CS-Hearts? ________________________________
Mail To: Or Call:
Nelson Ford Orders: 800-242-4PsL
PsL FAX Orders: 713-524-6398
P.O.Box 35705 Tech Support: 713-524-6394
Houston, TX 77235-5705 CompuServe Orders: 71355,470